\begin{figure*}
  \centering
%\begin{minipage}[b]{0.3\linewidth}
\subcaptionbox{\label{fig:hyper}}[0.25\linewidth]{
  \begin{tikzpicture}[scale=1,every node/.style={scale=1}]
%  \begin{tikzpicture}[scale=0.7,every node/.style={scale=0.7}]
  \node[v] (u1) at (0,0) {$u_1$};
  \node[v,below right of=u1,xshift=0.5cm,yshift=-0.5cm] (u2) {$u_2$};
  \node[v,below left of=u2,xshift=-0.5cm,yshift=-0.5cm] (u3) {$u_3$};
  \node[v,below right of=u3,xshift=0.5cm,yshift=-0.5cm] (u4) {$u_4$};

  \begin{pgfonlayer}{background}
  \begin{scope}[fill opacity=0.8]
    \filldraw[fill=yellow!70] ($(u1)+(-0.5,0)$) 
        to[out=90,in=180] ($(u1) + (0,0.5)$) 
        to[out=0,in=90] ($(u2) + (0.5,0)$) 
        to[out=270,in=0] ($(u3) + (0,-0.5)$)
        to[out=180,in=270] ($(u3) + (-0.5,0)$)
        to[out=90,in=225] ($(u2)+(-0.7,-0.2)$)
        to[out=45,in=270] ($(u1)+(-0.5,0)$);

    \filldraw[fill=green!70,thick,dashed] ($(u2)+(-0.5,0.2)$)
        to[out=90,in=90] ($(u2)+(0.5,0.2)$)
        to[out=270,in=90] ($(u4)+(0.5,-0.2)$)
        to[out=270,in=270] ($(u4)+(-0.5,-0.2)$)
        to[out=90,in=270] ($(u2)+(-0.5,0.2)$);

    \filldraw[fill=red!70,thick,dotted] ($(u3)+(-0.5,0.2)$)
        to[out=115,in=135] ($(u3)+(0.3,0.5)$)
        to[out=315,in=115] ($(u4)+(0.5,0)$)
        to[out=315,in=315] ($(u4)+(-0.3,-0.4)$)
        to[out=135,in=285] ($(u3)+(-0.5,0.2)$);
    \end{scope}
  \end{pgfonlayer}
\end{tikzpicture}
}
%\end{minipage}
%\begin{minipage}[b]{0.3\linewidth}
\subcaptionbox{\label{fig:bipartite}}[0.3\linewidth]{
\begin{tikzpicture}[scale=1,every node/.style={scale=1}]
\tikzstyle{link}=[-,black,thick,auto]
  \small
  \node (servers) {servers\phantom{l}};
  \node[xshift=0.3cm,right of=servers] (clients) {clients};
  \node[v,below of=servers] (u1) {$u_1$};
  \node[v,below of=u1] (u2) {$u_2$};
  \node[v,below of=u2] (u3) {$u_3$};
  \node[v,below of=u3] (u4) {$u_4$};

  \draw[gray,dashed] ($(servers.north)+(0.65,0)$) -- ($(u4.south)+(0.65,0)$);

  \node[v,below right of=u1,xshift=0.5cm,fill=yellow!70] (e1) {$e_1$};
  \node[v,below right of=u2,xshift=0.5cm,fill=green!70,dashed] (e2) {$e_2$};
  \node[v,below right of=u3,xshift=0.5cm,fill=red!70,dotted] (e3) {$e_3$};

  \draw[link] (u1) to (e1);
  \draw[link] (u2) to (e1);
  \draw[link] (u3) to (e1);
  \draw[link] (u2) to (e2);
  \draw[link] (u4) to (e2);
  \draw[link] (u3) to (e3);
  \draw[link] (u4) to (e3);
\end{tikzpicture}
}
%\subcaption{Bipartite Model}
%\end{minipage}
%\begin{minipage}[b]{0.3\linewidth}
\subcaptionbox{\label{fig:server}
}[0.2\linewidth]{
\begin{tikzpicture}[scale=1,every node/.style={scale=1}]
\tikzstyle{link}=[-,black,thick,auto]
  \small
  \node[v] (u1) at (0,0) {$u_1$};
  \node[v,right of=u1,xshift=0.5cm] (u2) {$u_2$};
  \node[v,below of=u1,yshift=-0.5cm] (u3) {$u_3$};
  \node[v,below of=u2,yshift=-0.5cm] (u4) {$u_4$};

  \draw[link] (u1) to (u2);
  \draw[link] (u1) to (u3);
  \draw[link] (u2) to (u3);
  \draw[link] (u2) to (u3);
  \draw[link] (u2) to (u4);
  \draw[link] (u4) to (u3);
\end{tikzpicture}
}
%\subcaption{Server Model}
%\end{minipage}
\caption{\small Figure~(\subref{fig:hyper}) shows a hypergraph consisting of vertices $u_1,\dots,u_4$ and edges $e_1=\{u_1,u_2,u_3\}$, $e_2=\{u_2,u_4\}$, and $e_3=\{u_3,u_4\}$. Figures~(\subref{fig:bipartite}) and (\subref{fig:server}) respectively present this hypergraph in the bipartite server-client model and the vertex-centric model.}
\end{figure*}
